In flash memories, it is necessary to erase data in units of blocks before data is written, and it takes a long time to erase data with respect to an operating clock of the system. As a method for shortening the data erasure time, there are a method of simultaneously erasing data of a plurality of storage device banks and a method of hiding a erasure time by overlapping data erasures of a plurality of storage device banks in an interleaved mode. As the number of storage device banks for overlapping increases, a higher speed can be implemented. Also for reading a memory, by interleaving a plurality of storage device banks, the access time overlaps each other, whereby the processing can be performed at a higher speed.